home *** CD-ROM | disk | FTP | other *** search
- /* ___________________________________________________________________________
- ** |*************************************************************************|
- ** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
- ** |*| Set TAB to 4 for best readable file layout. |*| C++ MaxonDev 4.0 |*|
- ** |*|______________________________________________|*|____________________|*|
- ** |*************************************************************************|
- ** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
- ** |*| |*| $Id: settings.h (24.12.01) |*|
- ** |*| ###### ###### |*| RhoSigma Source based on NDK 3.1 Includes 40.15 |*|
- ** |*| ## ## ## # |*| _________________________________________________ |*|
- ** |*| ## ## ## |*| |*|
- ** |*| ###### ## |*| Useful defines and extensions for NDK includes |*|
- ** |*| ## ## |*| |*|
- ** |*| ## ## # |*| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |*|
- ** |*| ## ###### |*| Copyright © 1998-2001 RhoSigma, Roland Heyder |*|
- ** |*| |*| All Rights Reserved. |*|
- ** |*|_______________|*|___________________________________________________|*|
- ** |*************************************************************************|
- ** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- */
-
- #ifndef RHOSIGMA_SETTINGS_H
- #define RHOSIGMA_SETTINGS_H
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- /** enhanced booleans **/
-
- #ifndef UPPER /* Signum-Werte zur Verwendung in */
- #define UPPER 1L /* Variablen des Typs BOOL */
- #endif
- #ifndef EQUAL
- #define EQUAL 0L
- #endif
- #ifndef LOWER
- #define LOWER -1L
- #endif
-
- /** for DisplayAlert() **/
-
- #define DATPOS_C -1 /* Text zentrieren */
- #define DATPOS_L -2 /* Text linksbündig */
- #define DATPOS_R -3 /* Text rechtsbündig */
-
- /*** rhosigma / DATEXT() ***
- *»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- * Dieses Macro erstellt einen Teilstring des Parameterstrings der Intuition-
- * Routine »DisplayAlert()«. Wahlweise kann der Text automatisch zentriert,
- * oder links- bzw. rechtsbündig ausgerichtet werden.
- *-----------------------------------------------------------------------------
- * Definiert: settings.h (Copyright © 1998-2001 RhoSigma, Roland Heyder)
- *
- * Schablone: Name/A, xPos/A/N, yPos/A/N, String/A, EndFlag/N/S
- *
- * Parameter: Name --> ein beliebiger Name als ID für diesen Teilstring
- *
- * xPos --> x-Position des Textes,
- * oder einer der oben definierten DATPOS-Werte.
- *
- * yPos --> y-Position des Textes,
- * Ausrichtung nach BaseLine des Fonts (topaz/8)
- *
- * String --> der Text selbst aber ohne ("") Anführungszeichen
- *
- * EndFlag --> - TRUE , dann endet hier der Parameterstring
- * - FALSE, dann MUSS noch ein weiterer Teilstring
- * (Macro-Aufruf) folgen.
- *
- * Bemerkung: Leider gestattet der Macro-Aufbau sowie die Initialisierungs-
- * Regeln in C/C++ und dazu noch die Macken einiger Compiler keinen
- * vollständigen Aufbau des Parameterstrings. Aus diesem Grunde ist
- * es in C/C++ erforderlich, die einzelnen Teilstrings vor der Be-
- * nutzung noch mittels der ebenfalls hier beschriebenen Funktion
- * »DAJOIN()« abschließend vorzubereiten.
- *
- * Ein Beispiel für die Benutzung dieses Macros finden Sie in
- * der Datei »demo/AlertDemo.C«.
- *
- * ACHTUNG: Die einzelnen Teilstrings, die später zu einem Parameterstring
- * ¯¯¯¯¯¯¯¯ gehören, müssen auf JEDEN FALL direkt nacheinander deklariert
- * werden, während zwischen zwei kompletten Parameterstrings aber
- * durchaus auch andere Deklarationen gemacht werden können.
- *
- * Siehe auch: »DAJOIN()«
- *«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««*/
-
- #define DATEXT(Name, xPos, yPos, String, EndFlag) \
- typedef struct { \
- WORD da_PosX; \
- UBYTE da_PosY; \
- TEXT da_Text[sizeof(#String)+(3-((sizeof(#String)-1)&3))]; \
- UBYTE da_Cont; \
- } datext_##Name; \
- STATIC datext_##Name Name = {xPos,yPos,#String,!EndFlag};
-
- /*** rhosigma / DAJOIN() ***
- *»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- * Diese Funktion dient der abschließenden Vorbereitung der mittels »DATEXT()«
- * initialisierten Parameterstrings zur Verwendung mit »DisplayAlert()«. Idealer
- * Weise sollte man diese Funktion als erste innerhalb von »main()« aufrufen.
- * Die Funktion ist Bestandteil der mitgelieferten »rhosigma.lib«, welche Sie
- * mit Ihrem Projekt linken sollten.
- *-----------------------------------------------------------------------------
- * Synopsis: VOID DAJOIN (Count, ...)
- *
- * Eingaben: Count --> (UWORD) Anzahl der übergebenen Teilstrings
- *
- * ... --> (&ID) nacheinander die Adressen (Referenzen) der
- * einzelnen Teilstrings
- *
- * Bemerkung: Mehrfacher Aufruf für jeden einzelnen Teilstring ist möglich,
- * aber durch die variable Argumentenliste eigentlich überflüssig,
- * da man so auch alle Teilstrings auf einmal angeben kann.
- *
- * Ein Beispiel für die Benutzung dieser Funktion finden Sie in
- * der Datei »demo/AlertDemo.C«.
- *
- * ACHTUNG: Diese Funktion muß auch dann aufgerufen werden, wenn der Para-
- * ¯¯¯¯¯¯¯¯ meterstring nur aus einem einzigen Teilstring besteht, da das
- * Macro »DATEXT()« keine vollständige Initialisierung des gleichen
- * vornehmen kann. Das wird alles erst durch »DAJOIN()« erledigt !!
- *
- * Siehe auch: »DATEXT()«
- *«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««*/
-
- #ifndef RHOSIGMA_H
- #include <rhosigma/rhosigma.h>
- #endif
-
- #endif /* RHOSIGMA_SETTINGS_H */
-
-